#pragma once
#include <vector>
#include <string>
using namespace std;

// This class manages maps; its data is loaded from Lua

struct MapData
{
	int w, h, ID;
	string MapPath, NavPath, MapName, MapScript;
};


class MapManager
{
private:
	static vector<MapData>	mMaps;
	static int				mNextID;
	static vector<string>	mNormalImages;
	static vector<string>	mMouseoverImages;

public:

	static MapData GetMap(string mapName);
	static vector<MapData> GetAllMaps();
	
	// Accessor Functions
	static string GetNormalImage(string mapName);
	static string GetMouseoverImage(string mapName);

	// Lua Functions ---------------------
	static void AddMap(string mapName, string normalImage, string mouseoverImage);
	static void	SetMapDimensions(string mapName, const int& w, const int& h);
	static void SetMapPaths(string mapName, string mapPath, string navPath, string mapScript);
};